home *** CD-ROM | disk | FTP | other *** search
- For those interested, this is the functional requirements document
- that CMU has for our next-generation mail system.
-
- Some of the features listed herein are inside the domain of IMAP, some
- are not.
-
- ------------------------------
-
- Andrew II Mail Functional Requirements
- Sep 15, 1992
-
- * Introduction
-
- This document describes the functional requirements of the Andrew II
- Electronic Mail project. The purpose of the project is to provide an
- electronic mail system for users who use the Andrew system and any
- other organizational computing facility on campus that desires to use
- it.
-
- Our experience with the Andrew Mail System has shown a number of
- problems with its design, leading to problems with performance and
- difficulty in administration. This project will attempt to implement
- a replacement mail system which corrects many of these problems.
-
- The Andrew Mail System has many useful features not found in other
- mail systems. Some of these features are important to the user
- community, others are of dubious value. Determining which features of
- the Andrew Mail System are important and reimplementing them in the
- new mail system is an important part of this project.
-
- * Organization
-
- The remainder of this document contains three sections, requirements
- for functions to be provided to users, requirements for functions to
- be provided to administrators, and design constraints.
-
- Each listed feature is given a priority. Design, resource, and
- performance constraints will most likely prohibit implementation of
- all features. The priorities are:
-
- Required - The Andrew II mail system must have this feature
- Highly desired - The mail system should have this feature
- unless it would be overly expensive to implement.
- Nice - The mail system should have this feature
- if it is easy to implement.
- Low priority - No real effort will be put into providing
- this feature
-
-
- * User requirements
-
- It is REQUIRED that there exist at least one user client for each of
- the X based workstation, Unix terminal, Mac, and PC environments. For
- all of them to have the same or similar user interface is HIGHLY
- DESIRED. Subject to the constraint that they be consistent across
- platforms, user clients should conform to the user interface
- guidelines of their respective platforms. (Our users span the various
- platforms. Several of them move from platform to platform.
- Consistency across platforms will improve training.)
-
- Ability to manage folders is REQUIRED. (Many users depend on ability
- to classify messages). The ability to optionally store folders on
- local media is HIGHLY DESIRED.
-
- Some form of subscription/"master update" service is REQUIRED. The
- ability for the service to maintain the read/unread state for each
- message in a folder is HIGHLY DESIRED. (system needs to keep track of
- which bboards the user is interested in. "master update" service
- tells which of user's subscribed folders have new messages--is
- necessary in order to keep performance acceptable. While AMS' "quit
- here" line is sufficient for recording what messages in a folder a
- user has read, keeping read/unread state per message allows users to
- read the messages in a bboard in a more presentable order. For
- example, they could read all messages with a given subject before
- moving to messages with a different subject.)
-
- The ability to search within a folder by subject and/or sender is
- REQUIRED. The ability to do other searches would be NICE. For
- searches by subject, sender, etc to search the entire field (instead
- of truncating to a fixed number of characters) is HIGHLY DESIRED.
-
- The ability to send and receive files as enclosures is REQUIRED.
- Full, generalized multimedia support would be NICE. If provided,
- multimedia support should be done through the MIME standard.
-
- Support for local and/or remote printing of messages is REQUIRED.
-
- The system is REQUIRED to not drop mail, short of hardware failures.
- (Once submitted, mail must either be delivered to the recipient(s) or,
- if that is not possible, returned back to the sender. Losing data for
- frivolous reasons (network outage, resource shortages, server
- unavailability) is unacceptable.)
-
- Authenticated delivery of local mail is REQUIRED. This is a feature
- of AMDS that is expected by users. Not only does it protect against
- users being mislead by forged mail, it allows mail-based services like
- EzFax and restricted-posting bboards to work. (If mail system cannot
- be assured that mail claiming to be sent from a local user was in fact
- sent from that account, it must indicate it as such. The delivery
- system is allowed to lose this assurance under adverse conditions.)
-
- A directory service of users which supports "fuzzy matching" name
- lookups is REQUIRED. Users are used to the features of the White
- Pages facility of AMDS and some equivalent is necessary.
-
- Some User-settable forwarding address facility is REQUIRED. The
- ability for changes to take effect immediately is HIGHLY DESIRED.
-
- In order to support beta-testing and a smooth transition from
- AMS/AMDS, a per-user "Leap of Faith" style phase-in mechanism is REQUIRED.
- (Users must be able to specify that they wish to use the new mail
- system instead of AMS. This transition need not be reversible. At
- some point, this transition may be forced upon users.)
-
- The "integrated Mail and Bboards" concept is HIGHLY DESIRED.
-
- A method for notification of new mail for a user is HIGHLY DESIRED.
- Zephyr is the most likely notification mechanism. (Users like to know
- when new mail arrives.)
-
- The ability to keep copies of all outgoing messages is HIGHLY
- DESIRED.
-
- The ability to perform well for mail-only users is HIGHLY DESIRED.
- If user doesn't read bboards, they shouldn't take any performance hit
- imposed by the bboard system. (There is a large number of users who
- only use mail)
-
- The ability to do archival and/or compression of old messages is
- HIGHLY DESIRED.
-
- A uniform bboard addressing scheme (for example, being able to post to
- any bboard by addressing mail to "bb+nameofbboard") is HIGHLY DESIRED.
- The .MS.DirectPost facility of AMS has proven to be confusing to users.
-
- Per-user mail aliases (address books) are HIGHLY DESIRED. The user's
- address book should be available regardless of the location or
- platform being used.
-
- Support for user-created/maintained distribution lists is HIGHLY
- DESIRED. The ability to have restricted-sending distribution lists
- would be NICE.
-
- Support for a user-defined portion of the address namespace
- (userid+whatever) is HIGHLY DESIRED. (This is an invaluable aid to
- users who do automated filing of incoming mail.)
-
- Some form of automatic filing mechanism for user's mail is HIGHLY DESIRED.
-
- Duplicate delivery elimination (by examining the message-id header) is
- HIGHLY DESIRED. Sometimes a message from an external system is
- delivered twice. AMDS currently avoids delivering the excess copies.
-
- The ability to eliminate the multiple presentation of messages that
- have been crossposted (by tracking the message-id field) would be
- NICE. (When a message is crossposted, it should only be presented to
- the user once.)
-
- Support for threading would be NICE. (Threaded readers group messages
- that are replies to the same post together, allowing users to read
- all messages in the same conversation together)
-
- Support for "kill files" would be NICE. (Kill files allow users to
- specify that they want to ignore messages on a bboard with, for
- example, a given subject or from a specific poster. They are an aid
- to reading large volume bboards.)
-
- Support for subscription invitations would be NICE. (These are
- messages that cause the client to be prompted to subscribe to a given
- folder.)
-
- An equivalent to the standard Unix "vacation" facility would be NICE.
- (User can configure their account to inform users that send them mail
- that they are unavailable for a certain time.)
-
- Support for direct delivery to folders would be NICE. (One mechanism
- for supporting private bboards)
-
- Support for requesting a return receipt would be NICE. (A return
- receipt is an automatically generated message that notifies the sender
- of a piece of mail that the mail was successfully delivered to the
- recipient.)
-
- Explicit support for delivery of mail to a user's workstation is
- LOW PRIORITY. There are problems administrating a system which relies
- on components that the computing facility has no administrative
- control over. It is extremely difficult to make such a system
- reliable.
-
- Equivalents to AMDS' dir-insert, fs-members, and file-append features
- are LOW PRIORITY. (These features are infrequently used.)
-
- Direct support of X.400 is LOW PRIORITY. The address syntax is
- unwieldy and there are several technical show-stoppers, such as the
- fact that an X.400 Message Transport Agent is allowed to silently
- discard messages due to "congestion".
-
- The ability to support "votes" is LOW PRIORITY. (This is a feature of
- dubious value.)
-
-
- * Administrative requirements
-
- Enforcement of disk space quotas is REQUIRED. (Administrators need to
- have control over resources and be able to avoid abuse of the mail
- system as additional storage.)
-
- Support for global mail aliases and mailing lists is REQUIRED.
- (Mail aliases and published mailing lists are frequently used.)
-
- The ability to efficiently handle large, frequently read bboards is
- REQUIRED. (We have several such bboards.)
-
- The ability to have bboards with restricted reading is REQUIRED.
- (Organizations use bboards for internal discussions which they do not
- want to be available to outside users.)
-
- Some form of BBoard filing mechanism is REQUIRED. (This is necessary
- in order to have bboards.)
-
- The ability for the bboard filing mechanism to enforce restricted
- posting to bboards is REQUIRED. The ability for it to be general
- enough to handle special setups, such as advisor, is HIGHLY DESIRED.
- (Enforcement of restricted-posting bboards is necessary in order to
- support "official" and other moderated-style forums. If the filing
- mechanism isn't general enough to handle such setups as advisor,
- special-purpose programs to handle this can be written.)
-
- A mechanism to handle administration of bboards (manipulate ACLs,
- create, delete, etc.) is REQUIRED. The ability for parts of this
- administration to be distributed to outside groups is HIGHLY DESIRED.
- (The bboard system needs to be maintained in some manner. If this
- maintenance can be distributed, this reduces the load on the central
- maintainers and allows outside groups to be given greater flexibility
- within their own part of the bboard system.)
-
- The ability to distribute the bboards across servers is REQUIRED.
- (The client must therefore have some mechanism for finding the
- server(s) for a given bboard. Distribution of bboards is necessary in
- order to handle a large load.)
-
- The ability to distribute users across servers is REQUIRED. (This is
- necessary in order to handle large numbers of users)
-
- The ability to move users and bboard trees between servers (in order
- to load-balance) is REQUIRED.
-
- The ability to purge bboards at administratively defined rates is
- REQUIRED. (Old messages have to be removed at some point. The rates
- at which bboards are purged need to be adjustable in order to allow
- for variations in resource usage and importance.)
-
- Monitoring of centrally maintained resources is REQUIRED. Usage and
- resource monitoring of other parts of the mail system is HIGHLY
- DESIRED. (Administrators need to do resource planning, budget
- justification, detection and diagnosis of problems.)
-
- The ability to "Short Circuit" local delivery of mail, to both
- andrew.cmu.edu and to CMU.EDU is HIGHLY DESIRED. This is expected to
- increase the performance and reliability of the delivery system
- significantly. (For example, both Andrew and CS know how to query the
- CMU.EDU database directly, so they can deliver mail directly to the
- user's forwarding address instead of making the mail be processed by
- the central CMU.EDU servers)
-
- The ability to replicate bboards on multiple servers is HIGHLY DESIRED.
- (This would be an aid to distributing load.)
-
- Administratively settable per-address bounce messages would be NICE.
- (This is the ability for an administrator to specify that mail sent to
- a given address is to be returned with an administratively settable
- error message. This is a feature of AMDS that is useful for dealing
- with suspended accounts.)
-
-
- * Design constraints
-
- The mail system is REQUIRED to use a client/server architecture.
- (This architecture is necessary to support "mobile" users, those who
- access their mail from different places.)
-
- Avoiding any reliance on a shared filesystem service is REQUIRED.
- Experience with AMDS shows that layering on top of a shared filesystem
- leads to serious problems with performance and availability. We may
- allow users to configure their own environment to make part of their
- mail service rely on a shared file system.
-
- Whenever a component of the mail system needs authentication, it is
- REQUIRED to support Kerberos V4. (Kerberos V4 is the authentication
- mechanism currently used by Andrew.)
-
- The use of standardized protocols is HIGHLY DESIRED. If we need to
- design a new protocol, we should work to make it standardized.
-
-
-